#include <vector>
using namespace std;
class Solution
{
public:
    vector<int> searchRange(vector<int> &nums, int target)
    {
        if (nums.size() == 0)
            return {-1, -1};
        // 先找起始位置
        vector<int> ans;
        int left = 0, right = nums.size() - 1;
        while (left < right)
        {
            int mid = left + right >> 1;
            // cout << mid << endl;
            if (nums[mid] >= target)
                right = mid;
            else
                left = mid + 1;
        }
        // cout << left << ' '  << right << endl;
        if (nums[left] != target)
            return {-1, -1};
        else
            ans.push_back(left);
        left = 0, right = nums.size() - 1;
        while (left < right)
        {
            int mid = left + right + 1 >> 1;
            if (nums[mid] <= target)
                left = mid;
            else
                right = mid - 1;
        }
        ans.push_back(left);
        return ans;
    }
};